38 research outputs found

    Automatic Error Localization for Software using Deductive Verification

    Full text link
    Even competent programmers make mistakes. Automatic verification can detect errors, but leaves the frustrating task of finding the erroneous line of code to the user. This paper presents an automatic approach for identifying potential error locations in software. It is based on a deductive verification engine, which detects errors in functions annotated with pre- and post-conditions. Using an automatic theorem prover, our approach finds expressions in the code that can be modified such that the program satisfies its specification. Scalability is achieved by analyzing each function in isolation. We have implemented our approach in the widely used Frama-C framework and present first experimental results. This is an extended version of [8], featuring an additional appendix.Comment: This is an extended version of [8], featuring an additional appendi

    Loop-level parallelism in numeric and symbolic programs

    No full text

    Using paths to measure, explain, and enhance program behavior

    No full text

    Making pointer-based data structures cache conscious

    No full text

    Shape Analysis

    No full text
    A shape-analysis algorithm statically analyzes a program to determine information about the heap-allocated data structures that the program manipulates. The results can be used to understand or verify programs. They also contain information valuable for debugging, compile-time garbage collection, instruction scheduling, and parallelization

    Loop-Carried Dependence Verification in OpenMP

    No full text

    VMAD: An Advanced Dynamic Program Analysis and Instrumentation Framework

    No full text
    corecore